template< class nodeA, class nodeB >
struct intTree{
typedef intTree<nodeA, nodeB>  value;
};

template< class intLeaf >
struct Leaf{
typedef Leaf<intLeaf>  value;
};
